import request from '@/utils/request'

/**
 * 取消订单
 * @param {Object} params - 取消订单参数
 * @param {string} params.cancelReason - 取消原因
 * @param {number} params.id - 订单ID
 */
export function cancelOrder(params) {
  return request({
    url: '/admin/order/cancel',
    method: 'put',
    data: params
  })
}

/**
 * 获取各个状态的订单数量统计
 */
export function getOrderStatistics() {
  return request({
    url: '/admin/order/statistics',
    method: 'get'
  })
}

/**
 * 完成订单
 * @param {string} id - 订单ID
 */
export function completeOrder(id) {
  return request({
    url: `/admin/order/complete/${id}`,
    method: 'put'
  })
}

/**
 * 拒绝订单
 * @param {Object} params - 拒单参数
 * @param {number} params.id - 订单ID
 * @param {string} params.rejectionReason - 拒单原因
 */
export function rejectOrder(params) {
  return request({
    url: '/admin/order/rejection',
    method: 'put',
    data: params
  })
}

/**
 * 接受订单
 * @param {Object} params - 接单参数
 * @param {number} params.id - 订单ID
 */
export function confirmOrder(params) {
  return request({
    url: '/admin/order/confirm',
    method: 'put',
    data: params
  })
}

/**
 * 获取订单详情
 * @param {string} id - 订单ID
 */
export function getOrderDetails(id) {
  return request({
    url: `/admin/order/details/${id}`,
    method: 'get'
  })
}

/**
 * 派送订单
 * @param {string} id - 订单ID
 */
export function deliveryOrder(id) {
  return request({
    url: `/admin/order/delivery/${id}`,
    method: 'put'
  })
}

/**
 * 订单搜索
 * @param {Object} params - 搜索参数
 * @param {string} [params.beginTime] - 开始时间
 * @param {string} [params.endTime] - 结束时间
 * @param {string} [params.number] - 订单号
 * @param {string} params.page - 页码
 * @param {string} params.pageSize - 每页数量
 * @param {string} [params.phone] - 手机号
 * @param {string} [params.status] - 订单状态
 */
export function searchOrders(params) {
  return request({
    url: '/admin/order/conditionSearch',
    method: 'get',
    params
  })
}